<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>
<script>
    let p = new Promise((reslove, reject) => {
        reject("哈哈哈");
    })
    console.log(p)

    let p1 = new Promise((reslove, rejcet) => {
        reslove("嘿嘿嘿")
    })

    let p2 = new Promise((reslove, reject) => {
        reslove("啦啦啦")
    })
    // Promise 中的类属性 all方法 可以根据多个promise对象来返回状态，若所有的promise对象状态为成功状态则 该primise为成功状态 只要有一个promise对象状态为失败则失败

    Promise.all([p, p1, p2]).then(res => {
        console.log("成功啦", res)
    }).catch(err => {
        console.log(err, "失败啦")
    })
    // Promise 类方法 race 当第一个promise对象状态为成功时则当前promise对向为成功 第一个promise状态为失败则当前promise状态为失败
    Promise.race([p, p1, p2]).then(res => {
        console.log("reac成功啦", res)
    }).catch((err) => {
        console.log("race失败啦", err)
    })
    //  Promise.all([p,p1,p2])   Promise.all([p,p1,p2]) 相当于 new Promise(()=>{});
    //直接将promise状态变为成功状态
    Promise.resolve("成功啦").then(res => {
        console.log(res)
    })
    //Promise.resolve("成功啦") 相当于 new Promise((reslove,rejcet)=>{reslove('成功啦')})

    // 直接将promise状态变为失败状态
    Promise.reject("失败啦").catch((err) => {
        console.log(err)
    })
</script>

</html>